package com.durian.base.permission.listener;


import com.durian.base.permission.RequestExecutor;
import com.durian.base.permission.task.IPermissionTask;

/**
 * 说明：OnPermissionListener
 * <p/>
 * 作者：fanly
 * <p/>
 * 类型：Class
 * <p/>
 * 时间：2019/4/23 17:12
 * <p/>
 * 版本：version 1.0
 */
public interface OnPermissionListener {
    /**
     * 弹窗提示
     * @param executor
     * @return  true:有弹窗，需要自己处理  false:无弹窗
     */
    boolean rationale(RequestExecutor executor);
    /**
     * 有权限被拒绝授予时回调
     * @param task            请求失败的权限组
     */
    void onDenied(RequestExecutor executor, IPermissionTask task);

    /**
     * 用户允许所有权限后回调
     */
    void onGranted();

    /**
     * 用户取消权限后回调
     */
    void onCancel();
}
